Given the fact that there are dozens if not hundreds of different Indic language dialects, hardware manufacturers selling to such customers standardize in making computer keyboards in a second language commonly known by customers across dialects, which in many cases is an English keyboard. This either requires the customer to know English fluently in order to type on the English keyboard, or that they use some software program that allows them to somehow select characters in a local dialect in a tedious fashion, such as by selecting the characters from a symbol list from an on-screen keyboard or from a physical keyboard which has the local language characters. The input problem in such languages is compounded by the fact that multiple characters are usually associated with a single character, and the case of the character often determines the character that will be ultimately obtained. Furthermore, users may have to learn the input style and/or syntax of the languages supported. Other types of languages suffer from similar input problems.